<?php

namespace App\Http\Controllers;

use Qcloud\Cos;

class MediaService
{
    public static function uploadImage($fileName, $realPath = 'image')
    {
        $cosClient =new Cos\Client(array('region' => env('COSV5_REGION'),
            'credentials'=> array(
                'appId' => env('COSV5_APP_ID'),
                'secretId'    => env('COSV5_SECRET_ID'),
                'secretKey' => env('COSV5_SECRET_KEY'))));
        try {
            $result = $cosClient->putObject(array(
                'Bucket' => env('COSV5_BUCKET'),
                'Key' =>  $fileName,
                'Body' => fopen($realPath, 'rb'),
                'ServerSideEncryption' => 'AES256'));
            echo $result['Location'];
//
//            $signedUrl = $cosClient->getPreSignedUrl('putObject', array(
//                'Bucket' => env('COSV5_BUCKET'), //存储桶，格式：BucketName-APPID
//                'Key' => $fileName, //对象在存储桶中的位置，即对象键
//                'Body' => 'string', //可为空或任意字符串
//                'Params'=> array(), //http 请求参数，传入的请求参数需与实际请求相同，能够防止用户篡改此HTTP请求的参数,默认为空
//                'Headers'=> array(), //http 请求头部，传入的请求头部需包含在实际请求中，能够防止用户篡改签入此处的HTTP请求头部,默认签入host
//            ), '+10 minutes'); //签名的有效时间
//            // 请求成功
//            echo ($signedUrl);
        } catch (\Exception $e) {
            echo "$e\n";
            echo '</br> 失败';
        }
    }
}
